#ifndef __BULLET_H__
#define __BULLET_H__


#include "../Global.h"
#include "BulletDefine.h"
#include "../PhysicSystem/PhysicObject.h"
#include "../PhysicSystem/PhysicManager.h"

class Bullet : public CCSprite
{
public:
	Bullet( );
	virtual ~Bullet( );

	void			initBullet		( BULLET_TYPE type , COLOR_TYPE colorType = kColorTypeNone );


	void			setRadius		( float radius );

	void			unActive		( );

	inline
	COLOR_TYPE		getColorType	( )
	{
		return m_tColorType;
	}

	inline
	BULLET_TYPE		getBulletType	( )
	{
		return m_tBulletType;
	}

	inline
	float			getRadius		( )
	{
		return m_fRadius;
	}


	void			move			( const CCPoint& direction );
	void			onMove			( float dt );

	CREATE_SET_GET( float , m_fSpeed , Speed );
	CREATE_SET_GET( CCPoint , m_tDirection , Direction );
	CREATE_SET_GET( PhysicObject* , m_pPhysicObj , PhysicObject );
	
private:
	float					m_fRadius;
	COLOR_TYPE				m_tColorType;
	BULLET_TYPE				m_tBulletType;
};




#endif